import { IncomingHttpHeaders } from 'http';

import count from '@dfeidao/atom-nodejs/db/count';
import {productid , systemid } from '../../atom/config';

import query from '@dfeidao/atom-nodejs/db/query';

interface Message {
	filter: {
		project_name: string,
		pn: number
	};
	// cookie: {
	// 	uk: string;
	// 	[key: string]: string
	// };
	// urls: {
	// 	base: string;
	// 	origin: string;
	// 	url: string;
	// };
	// query: {};
	// params: {};
	// headers: {};
	// captcha: string;
}

// interface IWebResult {
// 	data: unknown;
// 	cookie?: {
// 		[name: string]: string;
// 	} | null;
// 	content_type?: string;
// 	headers?: {
// 		[key: string]: string;
// 	};
// 	attachment?: string;
// 	redirect?: string;
// 	status_code?: number;
// }

// 表名	work_order
// 标题	工单
// 字段名称	字段标题	字段类型	字段长度	是否为空	是否主键
// type_no	类型编号	string	50	√	ⅹ
// create_time	创建时间	timestamp	50	√	ⅹ
// engineer_phone	工程师电话	string	50	√	ⅹ
// completion_time	完成时间	timestamp	50	√	ⅹ
// work_bill_no	工单编号	string	50	√	ⅹ
// job_content	工单内容	string	50	√	ⅹ
// assetsname	资产名称	string	50	√	ⅹ
// finish_time	结束时间	timestamp	50	√	ⅹ
// productid	产品ID	string	50	√	ⅹ
// contact_number	联系电话	string	50	√	ⅹ
// wo_priority	工单优先级	string	50	√	ⅹ
// place	位置	string	50	√	ⅹ
// work_order_status	工单状态	string	50	√	ⅹ
// source_type	来源类型	string	50	√	ⅹ
// cust_name	客户名称	string	50	√	ⅹ
// working_hours	工单时长	string	50	√	ⅹ
// score	分值	string	50	√	ⅹ
// typename	类型名称	string	50	√	ⅹ
// _id	id	string	50	ⅹ	√
// start_time	开始时间	timestamp	50	√	ⅹ
// deal_type	处理方式	string	500	√	ⅹ
// project_no	项目编号	string	50	√	ⅹ
// customer_evaluation	客户评价	string	50	√	ⅹ
// responsible	责任人	string	50	√	ⅹ
// work_order_type	工单类型	string	50	√	ⅹ
// responsible_no	责任人编号	string	50	√	ⅹ
// dyremindtime	动态提醒时间	string	50	√	ⅹ
// hang_up_reason	挂起原因	string	50	√	ⅹ
// creater	创建人	string	50	√	ⅹ
// cust_sat	客户满意度	string	50	√	ⅹ
// customer_reviews	客户签名	string	50	√	ⅹ
// timeout_period	超时时长	string	50	√	ⅹ
// assets_no	资产编号	string	50	√	ⅹ
// creater_no	创建人编号	string	50	√	ⅹ
// project_name	项目名称	string	500	√	ⅹ

export default async function atom(message: Message, action_id: string, session_id: string, headers: IncomingHttpHeaders) {
	// 工单的模糊查询
	// const query = complex_query(action_id, session_id, systemid);
	// const project_name = await query
	// 	// 添加字段
	// 	.add_field('work_order', 'work_bill_no', 'work_bill_no')
	// 	.add_field('work_order', 'project_name', 'project_name')
	// 	.add_field('work_order', 'responsible', 'responsible')
	// 	.add_field('work_order', 'job_content', 'job_content')
	// 	.add_field('work_order', 'completion_time', 'completion_time')
	// 	.where_eq('work_order', 'work_order_status', 1)
	// 	// 等
	// 	.where_like('work_order', 'project_name', '%' + message.filter.project_name + '%')
	// 	// 结束
	// 	.exec();
	const q = query(action_id, session_id, systemid);
	q.prepare('work_order', ['work_bill_no','project_name', 'responsible', 'job_content','completion_time'],{ productid, work_order_status:1,project_name:{$like:( '%' + message.filter.project_name + '%')}}, 20, 1, [], []);
	const [project_name] = await q.exec();

	const { prepare, exec } = count(action_id, session_id, systemid);
	prepare('work_order', { productid, work_order_status:1,project_name:{$like:( '%' + message.filter.project_name + '%')}});
	const [t] = await exec();

	return { project_name, t };
}
